import pymysql  # 导入

# pymysql 就是 使用python语言操作mysql数据库的三方库

'''1、连接数据库'''
# 实例化connect类去连接数据库
db = pymysql.connect(host='101.201.173.9',
                     port=3306,
                     user='root',
                     password='Whx200106',
                     # database='crmeb'
                     )
'''创建游标'''
# 游标就是用来操作数据库
cursor = db.cursor()  # 游标

'''执行查询语句'''
# sql = 'select * from eb_user;'
# cursor.execute(sql)  # 执行查询语句
# print(cursor.fetchall()) # 查看执行结果


'''执行sql时有变量，如何执行'''
# real_name = 'dz'
# cursor.execute('select * from eb_user where real_name =%s or real_name = %s',('ww',real_name))
# for i in cursor.fetchall():
#     print(i)
# 为了防止被他人攻击，不建议使用 格式化 f 去传递变量
# 可以使用占位符%s去传参



'''对查询结果的数据类型优化'''
# result = cursor.fetchall()
#
# result_ls = []
# for line in result:
#     line_dict = {} # 每行的内容保存到该字典中
#     for i,j in enumerate(cursor.description):
#         line_dict[j[0]] =line[i]
#     result_ls.append(line_dict)
# for i in result_ls:
#     print(i)


'''执行其他语句'''
# update_sql = 'update  eb_user set birthday = 1 where real_name = "dz"  '
# cursor.execute(update_sql)
# db.commit() # 需要提交
# db.rollback() # 回滚

'''关闭连接'''
# cursor.close() # 关闭游标
# db.close() # 关闭数据库


# 使用pymysql库，去创建一个database，在该database中创建一个table，在表中插入100条通讯录数据
import pymysql
from faker import Faker
# 使用pymysql库，去创建一个database，在该database中创建一个table，在表中插入100条通讯录数据

db = pymysql.connect(host='',
                     port=3306,
                     user='root',
                     password=''
                     )
cursor = db.cursor()
'''建库，使用库'''
cursor.execute('create database mysqltest;')
cursor.execute('use mysqltest;')

'''建表'''
cursor.execute('create table test (id int primary key comment "编号",name varchar(20) not null comment "姓名",phone varchar(20) not null comment "手机号");')

'''插入100条数据'''
f = Faker(locale='zh_CN')

for i in range(1,101):
    cursor.execute('insert into test values(%s,%s,%s)',(i,f.name(),f.phone_number()))
db.commit()
cursor.close()
db.close()

